use once_cell::sync::Lazy;
use std::collections::HashMap;

pub static ERROR_CODE: Lazy<HashMap<String, String>> = Lazy::new(|| {
    HashMap::from([
        ("10000010", "模块限制类型错误，可能是模块数据未设置"),
        ("10000011", "动态密码作为密码使用，不可用于设置功能"),
        ("10000012", "算法函数，功能号输入错误"),
        ("10000013", "算法函数，输入密钥或初始向量长度有误"),
        ("10000014", "算法函数，输入待解密数据或待验签数据长度有误"),
        ("10000015", "函数参数值错误"),
        ("10000016", "Sn值非法"),
        ("10000017", "动态密码过期"),
        ("10000018", "动态密码可用次数为0"),
        ("10000019", "获取程序或库校验数据失败"),
        ("10000020", "时钟异常错误"),
        ("10000021", "应用程序校验错误"),
        ("10000022", "动态库校验错误"),
        ("10000023", "独占模式拒绝错误"),
        ("10000024", "模块号输入错误"),
        ("10000025", "动态防御错误"),
        ("10000026", "模块限次错误"),
        ("10000027", "模块限时错误"),
        ("10000028", "模块不可用"),
        ("10000029", "加密锁限次错误"),
        ("10000030", "加密锁限时错误"),
        ("10000031", "密码校验错误"),
        ("10000032", "权限错误（读写地址不合法）"),
        ("10000033", "限时限次、模块设定或防御相关的错误"),
        ("10000034", "权限错误（禁止管理锁权限）"),
        ("10000035", "权限错误（禁止自动时钟更新）"),
    ])
    .into_iter()
    .map(|(k, v)| (k.to_string(), v.to_string()))
    .collect()
});
